1. Technical Field
The present invention generally relates to methods and apparatus for organizing and searching a database and, more particularly, to methods and apparatus for organizing and searching an electronic programming guide.
2. Description of Related Art
It is known in the art to provide an electronic program guide (EPG) which provides the viewer with an on-screen listing of the upcoming television programs on television channels available to the viewer. In one implementation, the EPG is provided by an EPG data service and the EPG data is converted into a video signal at the cable head end and transmitted to the viewer's television via a dedicated cable television channel. After tuning to the dedicated cable television channel, the viewer must then passively wait until the program information for the desired time period and/or channel is displayed. This technique provides no mechanism for allowing the viewer to scroll through the EPG to the desired listing. Moreover, this technique also requires the cable head end operator to dedicate a separate cable television channel to the EPG data and to create video signals from the EPG data provided by the EPG service provider.
In another implementation, the EPG data is transmitted to subscribers using either in-band or out-of-band signaling. The subscriber's home communication terminal recovers the EPG data and stores the data until the subscriber requests presentation of the EPG data on his/her television. Upon selection of the EPG data, the EPG is displayed on the subscriber's television overlaid on or in place of the video programming. Since the EPG is stored locally at the subscriber's television, the subscriber may scroll through the program information in the EPG until the desired listing is reached.
When implementing such an EPG, it is useful to attach descriptors to each program. Typical descriptors (also referred to as "categories") include "movies", "sports", "comedy", and "western", as well as many others. The subscriber may display a list of programs which is limited to those programs matching a specified descriptor. FIG. 1 is a list of categories which includes "movies", "sports", and "comedy". Each of these categories has one or more subcategories. For example, "all", "action", "comedy", and "western" are subcategories of the main category "movies" and "all", "movie", and "sitcom" are subcategories of the main category "comedy". A program such as "Blazing Saddles" would appear under the categories movies:all; movies:comedy; movies:western; comedy:all; and comedy:movies. This may be implemented by assigning to "Blazing Saddles" the descriptors "movies", "comedy" and "western", and then placing the program in those categories which intersect with one of the descriptors. However, assigning each program to a plurality of categories increases the amount of data which must be transmitted to subscribers. While the data to be transmitted can be reduced by requiring that each program be assigned to at most one category, such an arrangement limits the flexibility with which a subscriber may search the EPG to find programs of interest. Accordingly, it would be desirable to provide methods and apparatus which minimize the amount of information which must be transmitted to subscribers, but nonetheless provides flexibility for searching the EPG to find programs.